Base Class of all view objects. More...
Public Member Functions | |
CView (const CRect &size) | |
CView (const CView &view) | |
CMessageResult | notify (CBaseObject *sender, IdStringPtr message) |
Mouse Methods | |
virtual CMouseEventResult | onMouseDown (CPoint &where, const CButtonState &buttons) |
called when a mouse down event occurs | |
virtual CMouseEventResult | onMouseUp (CPoint &where, const CButtonState &buttons) |
called when a mouse up event occurs | |
virtual CMouseEventResult | onMouseMoved (CPoint &where, const CButtonState &buttons) |
called when a mouse move event occurs | |
virtual CMouseEventResult | onMouseCancel () |
called when mouse tracking should be canceled | |
virtual CMouseEventResult | onMouseEntered (CPoint &where, const CButtonState &buttons) |
called when the mouse enters this view | |
virtual CMouseEventResult | onMouseExited (CPoint &where, const CButtonState &buttons) |
called when the mouse leaves this view | |
void | setHitTestPath (CGraphicsPath *path) |
virtual bool | hitTest (const CPoint &where, const CButtonState &buttons=-1) |
check if where hits this view | |
virtual bool | onWheel (const CPoint &where, const float &distance, const CButtonState &buttons) |
called if a mouse wheel event is happening over this view | |
virtual bool | onWheel (const CPoint &where, const CMouseWheelAxis &axis, const float &distance, const CButtonState &buttons) |
called if a mouse wheel event is happening over this view | |
virtual void | setMouseEnabled (bool bEnable=true) |
turn on/off mouse usage for this view | |
virtual bool | getMouseEnabled () const |
get the state of wheather this view uses the mouse or not | |
virtual void | setMouseableArea (const CRect &rect) |
set the area in which the view reacts to the mouse | |
virtual CRect & | getMouseableArea (CRect &rect) const |
get the area in which the view reacts to the mouse | |
virtual const CRect & | getMouseableArea () const |
read only access to the mouseable area | |
Touch Event Handling Methods | |
virtual void | onTouchEvent (ITouchEvent &event) |
virtual bool | wantsMultiTouchEvents () const |
Keyboard Methods | |
virtual int32_t | onKeyDown (VstKeyCode &keyCode) |
called if a key down event occurs and this view has focus | |
virtual int32_t | onKeyUp (VstKeyCode &keyCode) |
called if a key up event occurs and this view has focus | |
View Size Methods | |
CCoord | getHeight () const |
get the height of the view | |
CCoord | getWidth () const |
get the width of the view | |
virtual void | setViewSize (const CRect &rect, bool invalid=true) |
set views size | |
CRect & | getViewSize (CRect &rect) const |
returns the current view size | |
const CRect & | getViewSize () const |
read only access to view size | |
virtual CRect | getVisibleViewSize () const |
returns the visible size of the view | |
virtual void | parentSizeChanged () |
notification that one of the views parent has changed its size | |
virtual CPoint & | frameToLocal (CPoint &point) const |
conversion from frame coordinates to local view coordinates | |
virtual CPoint & | localToFrame (CPoint &point) const |
conversion from local view coordinates to frame coordinates | |
virtual void | setAutosizeFlags (int32_t flags) |
set autosize flags | |
virtual int32_t | getAutosizeFlags () const |
get autosize flags | |
virtual bool | sizeToFit () |
resize view to optimal size | |
Focus Methods | |
virtual void | looseFocus () |
called if view should loose focus | |
virtual void | takeFocus () |
called if view should take focus | |
virtual bool | wantsFocus () const |
check if view supports focus | |
virtual void | setWantsFocus (bool state) |
set focus support on/off | |
Attribute Methods | |
bool | getAttributeSize (const CViewAttributeID id, int32_t &outSize) const |
get the size of an attribute | |
bool | getAttribute (const CViewAttributeID id, const int32_t inSize, void *outData, int32_t &outSize) const |
get an attribute | |
bool | setAttribute (const CViewAttributeID id, const int32_t inSize, const void *inData) |
set an attribute | |
bool | removeAttribute (const CViewAttributeID id) |
remove an attribute | |
Background Methods | |
virtual void | setBackground (CBitmap *background) |
set the background image of this view | |
CBitmap * | getBackground () const |
get the background image of this view | |
virtual void | setDisabledBackground (CBitmap *background) |
set background image used when the mouse is not enabled | |
CBitmap * | getDisabledBackground () const |
get background image used when the mouse is not enabled | |
CBitmap * | getDrawBackground () const |
Transparency Methods | |
virtual void | setTransparency (bool val) |
set views transparent state | |
virtual bool | getTransparency () const |
get views transparent state | |
virtual void | setAlphaValue (float alpha) |
set alpha value which will be applied when drawing this view | |
float | getAlphaValue () const |
get alpha value | |
Attaching Methods | |
virtual bool | removed (CView *parent) |
view is removed from parent view | |
virtual bool | attached (CView *parent) |
view is attached to a parent view | |
bool | isAttached () const |
is view attached to a parentView | |
Parent Methods | |
CView * | getParentView () const |
get parent view | |
CFrame * | getFrame () const |
get frame | |
virtual VSTGUIEditorInterface * | getEditor () const |
get editor | |
Animation Methods | |
void | addAnimation (IdStringPtr name, Animation::IAnimationTarget *target, Animation::ITimingFunction *timingFunction, CBaseObject *notificationObject=0) |
void | removeAnimation (IdStringPtr name) |
void | removeAllAnimations () |
Reference Counting Methods | |
virtual void | forget () |
decrease refcount and delete object if refcount == 0 | |
virtual void | remember () |
increase refcount | |
virtual int32_t | getNbReference () const |
get refcount | |
Message Methods | |
virtual CMessageResult | notify (CBaseObject *sender, IdStringPtr message) |
Protected Types | |
enum | { kMouseEnabled = 1 << 0, kTransparencyEnabled = 1 << 1, kWantsFocus = 1 << 2, kIsAttached = 1 << 3, kVisible = 1 << 4, kDirty = 1 << 5, kWantsIdle = 1 << 6, kLastCViewFlag = 6 } |
Protected Member Functions | |
~CView () | |
CGraphicsPath * | getHitTestPath () const |
Protected Attributes | |
CRect | size |
CRect | mouseableArea |
CFrame * | pParentFrame |
CView * | pParentView |
int32_t | viewFlags |
int32_t | autosizeFlags |
float | alphaValue |
Drag & Drop Methods | |
| |
enum | DragResult { kDragRefused = 0, kDragMoved, kDragCopied, kDragError = -1 } |
virtual DragResult | doDrag (IDataPackage *source, const CPoint &offset=CPoint(0, 0), CBitmap *dragBitmap=0) |
start a drag operation. See CDropSource to create the source data package | |
virtual bool | onDrop (IDataPackage *drag, const CPoint &where) |
called if a drag is dropped onto this view | |
virtual void | onDragEnter (IDataPackage *drag, const CPoint &where) |
called if a drag is entering this view | |
virtual void | onDragLeave (IDataPackage *drag, const CPoint &where) |
called if a drag is leaving this view | |
virtual void | onDragMove (IDataPackage *drag, const CPoint &where) |
called if a drag is moved inside this view | |
Draw and Update Methods | |
| |
static bool | kDirtyCallAlwaysOnMainThread = false |
if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false. | |
virtual void | draw (CDrawContext *pContext) |
called if the view should draw itself | |
virtual void | drawRect (CDrawContext *pContext, const CRect &updateRect) |
called if the view should draw itself | |
virtual bool | checkUpdate (const CRect &updateRect) const |
virtual bool | isDirty () const |
check if view is dirty | |
virtual void | setDirty (bool val=true) |
set the view to dirty so that it is redrawn in the next idle. Thread Safe ! | |
virtual void | invalidRect (const CRect &rect) |
mark rect as invalid | |
virtual void | invalid () |
mark whole view as invalid | |
virtual void | setVisible (bool state) |
set visibility state | |
bool | isVisible () const |
get visibility state | |
Idle Methods | |
Should be used when a view needs to do a task periodically. The onIdle() method will be called only if the view is attached. | |
static int32_t | idleRate |
global idle rate in Hz, defaults to 30 Hz | |
virtual void | onIdle () |
called on idle when view wants idle | |
void | setWantsIdle (bool state) |
enable/disable onIdle() callback | |
bool | wantsIdle () const |
returns if the view wants idle callback or not |
Base Class of all view objects.
anonymous enum [protected] |
enum DragResult |
~CView | ( | ) | [protected] |
void addAnimation | ( | IdStringPtr | name, | |
Animation::IAnimationTarget * | target, | |||
Animation::ITimingFunction * | timingFunction, | |||
CBaseObject * | notificationObject = 0 | |||
) |
bool attached | ( | CView * | parent | ) | [virtual] |
view is attached to a parent view
parent | parent view |
virtual bool checkUpdate | ( | const CRect & | updateRect | ) | const [inline, virtual] |
CView::DragResult doDrag | ( | IDataPackage * | source, | |
const CPoint & | offset = CPoint (0, 0) , |
|||
CBitmap * | dragBitmap = 0 | |||
) | [virtual] |
start a drag operation. See CDropSource to create the source data package
a drag can only be started from within onMouseDown
source | source drop | |
offset | bitmap offset | |
dragBitmap | bitmap to drag |
Reimplemented in CFrame.
void draw | ( | CDrawContext * | pContext | ) | [virtual] |
called if the view should draw itself
pContext | draw context in which to draw |
Reimplemented in CFrame, CGradientView, CAutoAnimation, COnOffButton, CCheckBox, CKickButton, CTextButton, CControl, CKnob, CAnimKnob, CMovieBitmap, CMovieButton, COptionMenu, CParamDisplay, CSlider, CSpecialDigit, CSplashScreen, CAnimationSplashScreen, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CTextEdit, CTextLabel, CVuMeter, CXYPad, CScrollbar, and CViewContainer.
virtual void drawRect | ( | CDrawContext * | pContext, | |
const CRect & | updateRect | |||
) | [inline, virtual] |
called if the view should draw itself
Reimplemented in CFrame, CLayeredViewContainer, CShadowViewContainer, and CViewContainer.
virtual void forget | ( | ) | [inline, virtual, inherited] |
decrease refcount and delete object if refcount == 0
conversion from frame coordinates to local view coordinates
point | location |
Reimplemented in CViewContainer.
float getAlphaValue | ( | ) | const [inline] |
get alpha value
bool getAttribute | ( | const CViewAttributeID | aId, | |
const int32_t | inSize, | |||
void * | outData, | |||
int32_t & | outSize | |||
) | const |
get an attribute
aId | the ID of the Attribute | |
inSize | the size of the outData pointer | |
outData | a pointer where to copy the attribute data | |
outSize | the size in bytes which was copied into outData |
bool getAttributeSize | ( | const CViewAttributeID | aId, | |
int32_t & | outSize | |||
) | const |
get the size of an attribute
aId | the ID of the Attribute | |
outSize | on return the size of the attribute |
virtual int32_t getAutosizeFlags | ( | ) | const [inline, virtual] |
get autosize flags
CBitmap* getBackground | ( | ) | const [inline] |
get the background image of this view
CBitmap* getDisabledBackground | ( | ) | const [inline] |
get background image used when the mouse is not enabled
CBitmap* getDrawBackground | ( | ) | const [inline] |
VSTGUIEditorInterface * getEditor | ( | ) | const [virtual] |
get editor
Reimplemented in CFrame.
CFrame* getFrame | ( | ) | const [inline] |
get frame
CCoord getHeight | ( | ) | const [inline] |
get the height of the view
CGraphicsPath* getHitTestPath | ( | ) | const [inline, protected] |
virtual const CRect& getMouseableArea | ( | ) | const [inline, virtual] |
read only access to the mouseable area
get the area in which the view reacts to the mouse
virtual bool getMouseEnabled | ( | ) | const [inline, virtual] |
get the state of wheather this view uses the mouse or not
virtual int32_t getNbReference | ( | ) | const [inline, virtual, inherited] |
get refcount
CView* getParentView | ( | ) | const [inline] |
get parent view
virtual bool getTransparency | ( | ) | const [inline, virtual] |
get views transparent state
const CRect& getViewSize | ( | ) | const [inline] |
read only access to view size
CRect getVisibleViewSize | ( | ) | const [virtual] |
returns the visible size of the view
CCoord getWidth | ( | ) | const [inline] |
get the width of the view
bool hitTest | ( | const CPoint & | where, | |
const CButtonState & | buttons = -1 | |||
) | [virtual] |
check if where hits this view
where | location | |
buttons | button and modifier state |
Reimplemented in CSplashScreen, and CViewContainer.
virtual void invalid | ( | ) | [inline, virtual] |
mark whole view as invalid
Reimplemented in CFrame, and CViewContainer.
void invalidRect | ( | const CRect & | rect | ) | [virtual] |
mark rect as invalid
rect | rect to invalidate |
Reimplemented in CFrame, CLayeredViewContainer, COpenGLView, and CViewContainer.
bool isAttached | ( | ) | const [inline] |
is view attached to a parentView
virtual bool isDirty | ( | ) | const [inline, virtual] |
check if view is dirty
Reimplemented in CControl, and CViewContainer.
bool isVisible | ( | ) | const [inline] |
get visibility state
conversion from local view coordinates to frame coordinates
point | location |
Reimplemented in CViewContainer.
void looseFocus | ( | ) | [virtual] |
called if view should loose focus
Reimplemented in COptionMenu, CTextEdit, and CViewContainer.
virtual CMessageResult notify | ( | CBaseObject * | sender, | |
IdStringPtr | message | |||
) | [inline, virtual, inherited] |
CMessageResult notify | ( | CBaseObject * | sender, | |
IdStringPtr | message | |||
) |
sender | message sender | |
message | message text |
Reimplemented in CDataBrowser, CAnimationSplashScreen, CRockerSwitch, CRowColumnView, CScrollView, CScrollbar, CShadowViewContainer, and CViewContainer.
virtual void onDragEnter | ( | IDataPackage * | drag, | |
const CPoint & | where | |||
) | [inline, virtual] |
called if a drag is entering this view
Reimplemented in CViewContainer.
virtual void onDragLeave | ( | IDataPackage * | drag, | |
const CPoint & | where | |||
) | [inline, virtual] |
called if a drag is leaving this view
Reimplemented in CViewContainer.
virtual void onDragMove | ( | IDataPackage * | drag, | |
const CPoint & | where | |||
) | [inline, virtual] |
called if a drag is moved inside this view
Reimplemented in CViewContainer.
virtual bool onDrop | ( | IDataPackage * | drag, | |
const CPoint & | where | |||
) | [inline, virtual] |
called if a drag is dropped onto this view
Reimplemented in CViewContainer.
virtual void onIdle | ( | ) | [inline, virtual] |
called on idle when view wants idle
Reimplemented in CVuMeter.
int32_t onKeyDown | ( | VstKeyCode & | keyCode | ) | [virtual] |
called if a key down event occurs and this view has focus
keyCode | key code of pressed key |
Reimplemented in CDataBrowser, CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CFontChooser, CKnob, CMovieButton, COptionMenu, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, and CTextEdit.
int32_t onKeyUp | ( | VstKeyCode & | keyCode | ) | [virtual] |
called if a key up event occurs and this view has focus
keyCode | key code of pressed key |
Reimplemented in CFrame, CKickButton, CTextButton, and CRockerSwitch.
CMouseEventResult onMouseCancel | ( | ) | [virtual] |
called when mouse tracking should be canceled
Reimplemented in COnOffButton, CCheckBox, CKickButton, CTextButton, CSlider, and CViewContainer.
CMouseEventResult onMouseDown | ( | CPoint & | where, | |
const CButtonState & | buttons | |||
) | [virtual] |
called when a mouse down event occurs
where | mouse location of mouse down | |
buttons | button and modifier state |
Reimplemented in CDataBrowser, CFrame, CAutoAnimation, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, COptionMenu, CSlider, CSplashScreen, CAnimationSplashScreen, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CTextEdit, CXYPad, CScrollbar, and CViewContainer.
virtual CMouseEventResult onMouseEntered | ( | CPoint & | where, | |
const CButtonState & | buttons | |||
) | [inline, virtual] |
called when the mouse enters this view
Reimplemented in CScrollbar.
virtual CMouseEventResult onMouseExited | ( | CPoint & | where, | |
const CButtonState & | buttons | |||
) | [inline, virtual] |
called when the mouse leaves this view
Reimplemented in CFrame, and CScrollbar.
CMouseEventResult onMouseMoved | ( | CPoint & | where, | |
const CButtonState & | buttons | |||
) | [virtual] |
called when a mouse move event occurs
where | mouse location of mouse move | |
buttons | button and modifier state |
Reimplemented in CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CXYPad, CScrollbar, and CViewContainer.
CMouseEventResult onMouseUp | ( | CPoint & | where, | |
const CButtonState & | buttons | |||
) | [virtual] |
called when a mouse up event occurs
where | mouse location of mouse up | |
buttons | button and modifier state |
Reimplemented in CFrame, COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CMovieButton, CSlider, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CXYPad, CScrollbar, and CViewContainer.
virtual void onTouchEvent | ( | ITouchEvent & | event | ) | [inline, virtual] |
Reimplemented in CViewContainer.
bool onWheel | ( | const CPoint & | where, | |
const CMouseWheelAxis & | axis, | |||
const float & | distance, | |||
const CButtonState & | buttons | |||
) | [virtual] |
called if a mouse wheel event is happening over this view
where | location | |
axis | mouse wheel axis | |
distance | wheel distance | |
buttons | button and modifier state |
Reimplemented in CFrame, CTextLabel, CScrollView, CScrollbar, and CViewContainer.
bool onWheel | ( | const CPoint & | where, | |
const float & | distance, | |||
const CButtonState & | buttons | |||
) | [virtual] |
called if a mouse wheel event is happening over this view
where | location | |
distance | wheel distance | |
buttons | button and modifier state |
Reimplemented in CFrame, CKnob, CSlider, CRockerSwitch, CTextLabel, and CViewContainer.
virtual void parentSizeChanged | ( | ) | [inline, virtual] |
notification that one of the views parent has changed its size
Reimplemented in CLayeredViewContainer, CTextEdit, COpenGLView, and CViewContainer.
virtual void remember | ( | ) | [inline, virtual, inherited] |
increase refcount
void removeAllAnimations | ( | ) |
void removeAnimation | ( | IdStringPtr | name | ) |
bool removeAttribute | ( | const CViewAttributeID | id | ) |
remove an attribute
bool removed | ( | CView * | parent | ) | [virtual] |
view is removed from parent view
parent | parent view |
void setAlphaValue | ( | float | alpha | ) | [virtual] |
set alpha value which will be applied when drawing this view
bool setAttribute | ( | const CViewAttributeID | aId, | |
const int32_t | inSize, | |||
const void * | inData | |||
) |
set an attribute
copies data into the attribute. If it does not exist, creates a new attribute.
aId | the ID of the Attribute | |
inSize | the size of the outData pointer | |
inData | a pointer to the data |
virtual void setAutosizeFlags | ( | int32_t | flags | ) | [inline, virtual] |
set autosize flags
Reimplemented in CScrollView, and CTabView.
void setBackground | ( | CBitmap * | background | ) | [virtual] |
void setDirty | ( | bool | val = true |
) | [virtual] |
void setDisabledBackground | ( | CBitmap * | background | ) | [virtual] |
set background image used when the mouse is not enabled
background | new disabled background bitmap |
void setHitTestPath | ( | CGraphicsPath * | path | ) |
path | the path to use for hit testing. The path will be translated by this views origin, so that the path must not be set again, if the view is moved. Otherwise when the size of the view changes, the path must also be set again. |
virtual void setMouseableArea | ( | const CRect & | rect | ) | [inline, virtual] |
set the area in which the view reacts to the mouse
void setMouseEnabled | ( | bool | bEnable = true |
) | [virtual] |
turn on/off mouse usage for this view
void setTransparency | ( | bool | val | ) | [virtual] |
set views transparent state
Reimplemented in CScrollView.
void setViewSize | ( | const CRect & | newSize, | |
bool | invalid = true | |||
) | [virtual] |
set views size
newSize | rect of new size of view | |
invalid | if true set view dirty |
Reimplemented in CDataBrowser, CFrame, CGradientView, CLayeredViewContainer, CTextButton, CKnob, CSlider, CTextEdit, CTextLabel, CVuMeter, COpenGLView, CAutoLayoutContainerView, CScrollView, CScrollbar, CShadowViewContainer, CSplitView, CTabView, and CViewContainer.
void setVisible | ( | bool | state | ) | [virtual] |
set visibility state
Reimplemented in COpenGLView.
void setWantsFocus | ( | bool | state | ) | [virtual] |
set focus support on/off
Reimplemented in CDataBrowser.
void setWantsIdle | ( | bool | state | ) |
enable/disable onIdle() callback
virtual bool sizeToFit | ( | ) | [inline, virtual] |
resize view to optimal size
Reimplemented in COnOffButton, CCheckBox, CKickButton, CTextButton, CKnob, CAnimKnob, CMovieBitmap, CMovieButton, CSlider, CAnimationSplashScreen, CVerticalSwitch, CHorizontalSwitch, CRockerSwitch, CTextLabel, CVuMeter, CRowColumnView, CSplitView, and CViewContainer.
void takeFocus | ( | ) | [virtual] |
called if view should take focus
Reimplemented in COptionMenu, CTextEdit, and CViewContainer.
virtual bool wantsFocus | ( | ) | const [inline, virtual] |
check if view supports focus
bool wantsIdle | ( | ) | const [inline] |
returns if the view wants idle callback or not
virtual bool wantsMultiTouchEvents | ( | ) | const [inline, virtual] |
Reimplemented in CViewContainer.
float alphaValue [protected] |
int32_t autosizeFlags [protected] |
int32_t idleRate [static] |
global idle rate in Hz, defaults to 30 Hz
bool kDirtyCallAlwaysOnMainThread = false [static] |
if this is true, setting a view dirty will call invalid() instead of checking it in idle. Default value is false.
CRect mouseableArea [protected] |
CFrame* pParentFrame [protected] |
CView* pParentView [protected] |
int32_t viewFlags [protected] |